/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.taobao.ibatiside.model.mapperv2.util;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.util.Switch;

import org.taobao.ibatiside.model.common.IIdentified;

import org.taobao.ibatiside.model.mapperv2.*;

/**
 * <!-- begin-user-doc -->
 * The <b>Switch</b> for the model's inheritance hierarchy.
 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
 * to invoke the <code>caseXXX</code> method for each class of the model,
 * starting with the actual class of the object
 * and proceeding up the inheritance hierarchy
 * until a non-null result is returned,
 * which is the result of the switch.
 * <!-- end-user-doc -->
 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package
 * @generated
 */
public class Mapperv2Switch<T> extends Switch<T> {
	/**
	 * The cached model package
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static Mapperv2Package modelPackage;

	/**
	 * Creates an instance of the switch.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Mapperv2Switch() {
		if (modelPackage == null) {
			modelPackage = Mapperv2Package.eINSTANCE;
		}
	}

	/**
	 * Checks whether this is a switch for the given package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @parameter ePackage the package in question.
	 * @return whether this is a switch for the given package.
	 * @generated
	 */
	@Override
	protected boolean isSwitchFor(EPackage ePackage) {
		return ePackage == modelPackage;
	}

	/**
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
	 * @generated
	 */
	@Override
	protected T doSwitch(int classifierID, EObject theEObject) {
		switch (classifierID) {
			case Mapperv2Package.CACHE_MODEL: {
				CacheModel cacheModel = (CacheModel)theEObject;
				T result = caseCacheModel(cacheModel);
				if (result == null) result = caseIIdentified(cacheModel);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.DELETE: {
				Delete delete = (Delete)theEObject;
				T result = caseDelete(delete);
				if (result == null) result = caseGeneralStatement(delete);
				if (result == null) result = caseGeneralNestedStatement(delete);
				if (result == null) result = caseIIdentified(delete);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.DISCRIMINATOR: {
				Discriminator discriminator = (Discriminator)theEObject;
				T result = caseDiscriminator(discriminator);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.DOCUMENT_ROOT: {
				DocumentRoot documentRoot = (DocumentRoot)theEObject;
				T result = caseDocumentRoot(documentRoot);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.DYNAMIC: {
				Dynamic dynamic = (Dynamic)theEObject;
				T result = caseDynamic(dynamic);
				if (result == null) result = caseGeneralNestedStatement(dynamic);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.FLUSH_INTERVAL: {
				FlushInterval flushInterval = (FlushInterval)theEObject;
				T result = caseFlushInterval(flushInterval);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.FLUSH_ON_EXECUTE: {
				FlushOnExecute flushOnExecute = (FlushOnExecute)theEObject;
				T result = caseFlushOnExecute(flushOnExecute);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.GENERAL_NESTED_STATEMENT: {
				GeneralNestedStatement generalNestedStatement = (GeneralNestedStatement)theEObject;
				T result = caseGeneralNestedStatement(generalNestedStatement);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.GENERAL_STATEMENT: {
				GeneralStatement generalStatement = (GeneralStatement)theEObject;
				T result = caseGeneralStatement(generalStatement);
				if (result == null) result = caseGeneralNestedStatement(generalStatement);
				if (result == null) result = caseIIdentified(generalStatement);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.INCLUDE: {
				Include include = (Include)theEObject;
				T result = caseInclude(include);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.INSERT: {
				Insert insert = (Insert)theEObject;
				T result = caseInsert(insert);
				if (result == null) result = caseGeneralStatement(insert);
				if (result == null) result = caseGeneralNestedStatement(insert);
				if (result == null) result = caseIIdentified(insert);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_EMPTY: {
				IsEmpty isEmpty = (IsEmpty)theEObject;
				T result = caseIsEmpty(isEmpty);
				if (result == null) result = caseGeneralNestedStatement(isEmpty);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_EQUAL: {
				IsEqual isEqual = (IsEqual)theEObject;
				T result = caseIsEqual(isEqual);
				if (result == null) result = caseGeneralNestedStatement(isEqual);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_GREATER_EQUAL: {
				IsGreaterEqual isGreaterEqual = (IsGreaterEqual)theEObject;
				T result = caseIsGreaterEqual(isGreaterEqual);
				if (result == null) result = caseGeneralNestedStatement(isGreaterEqual);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_GREATER_THAN: {
				IsGreaterThan isGreaterThan = (IsGreaterThan)theEObject;
				T result = caseIsGreaterThan(isGreaterThan);
				if (result == null) result = caseGeneralNestedStatement(isGreaterThan);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_LESS_EQUAL: {
				IsLessEqual isLessEqual = (IsLessEqual)theEObject;
				T result = caseIsLessEqual(isLessEqual);
				if (result == null) result = caseGeneralNestedStatement(isLessEqual);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_LESS_THAN: {
				IsLessThan isLessThan = (IsLessThan)theEObject;
				T result = caseIsLessThan(isLessThan);
				if (result == null) result = caseGeneralNestedStatement(isLessThan);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_NOT_EMPTY: {
				IsNotEmpty isNotEmpty = (IsNotEmpty)theEObject;
				T result = caseIsNotEmpty(isNotEmpty);
				if (result == null) result = caseGeneralNestedStatement(isNotEmpty);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_NOT_EQUAL: {
				IsNotEqual isNotEqual = (IsNotEqual)theEObject;
				T result = caseIsNotEqual(isNotEqual);
				if (result == null) result = caseGeneralNestedStatement(isNotEqual);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_NOT_NULL: {
				IsNotNull isNotNull = (IsNotNull)theEObject;
				T result = caseIsNotNull(isNotNull);
				if (result == null) result = caseGeneralNestedStatement(isNotNull);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_NOT_PARAMETER_PRESENT: {
				IsNotParameterPresent isNotParameterPresent = (IsNotParameterPresent)theEObject;
				T result = caseIsNotParameterPresent(isNotParameterPresent);
				if (result == null) result = caseGeneralNestedStatement(isNotParameterPresent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_NOT_PROPERTY_AVAILABLE: {
				IsNotPropertyAvailable isNotPropertyAvailable = (IsNotPropertyAvailable)theEObject;
				T result = caseIsNotPropertyAvailable(isNotPropertyAvailable);
				if (result == null) result = caseGeneralNestedStatement(isNotPropertyAvailable);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_NULL: {
				IsNull isNull = (IsNull)theEObject;
				T result = caseIsNull(isNull);
				if (result == null) result = caseGeneralNestedStatement(isNull);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_PARAMETER_PRESENT: {
				IsParameterPresent isParameterPresent = (IsParameterPresent)theEObject;
				T result = caseIsParameterPresent(isParameterPresent);
				if (result == null) result = caseGeneralNestedStatement(isParameterPresent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.IS_PROPERTY_AVAILABLE: {
				IsPropertyAvailable isPropertyAvailable = (IsPropertyAvailable)theEObject;
				T result = caseIsPropertyAvailable(isPropertyAvailable);
				if (result == null) result = caseGeneralNestedStatement(isPropertyAvailable);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.ITERATE: {
				Iterate iterate = (Iterate)theEObject;
				T result = caseIterate(iterate);
				if (result == null) result = caseGeneralNestedStatement(iterate);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.PARAMETER: {
				Parameter parameter = (Parameter)theEObject;
				T result = caseParameter(parameter);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.PARAMETER_MAP: {
				ParameterMap parameterMap = (ParameterMap)theEObject;
				T result = caseParameterMap(parameterMap);
				if (result == null) result = caseIIdentified(parameterMap);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.PROCEDURE: {
				Procedure procedure = (Procedure)theEObject;
				T result = caseProcedure(procedure);
				if (result == null) result = caseGeneralStatement(procedure);
				if (result == null) result = caseGeneralNestedStatement(procedure);
				if (result == null) result = caseIIdentified(procedure);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.PROPERTY: {
				Property property = (Property)theEObject;
				T result = caseProperty(property);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.RESULT: {
				Result result = (Result)theEObject;
				T theResult = caseResult(result);
				if (theResult == null) theResult = defaultCase(theEObject);
				return theResult;
			}
			case Mapperv2Package.RESULT_MAP: {
				ResultMap resultMap = (ResultMap)theEObject;
				T result = caseResultMap(resultMap);
				if (result == null) result = caseIIdentified(resultMap);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.SELECT: {
				Select select = (Select)theEObject;
				T result = caseSelect(select);
				if (result == null) result = caseGeneralStatement(select);
				if (result == null) result = caseGeneralNestedStatement(select);
				if (result == null) result = caseIIdentified(select);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.SELECT_KEY: {
				SelectKey selectKey = (SelectKey)theEObject;
				T result = caseSelectKey(selectKey);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.SQL: {
				Sql sql = (Sql)theEObject;
				T result = caseSql(sql);
				if (result == null) result = caseGeneralNestedStatement(sql);
				if (result == null) result = caseIIdentified(sql);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.SQL_MAP: {
				SqlMap sqlMap = (SqlMap)theEObject;
				T result = caseSqlMap(sqlMap);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.STATEMENT: {
				Statement statement = (Statement)theEObject;
				T result = caseStatement(statement);
				if (result == null) result = caseGeneralStatement(statement);
				if (result == null) result = caseGeneralNestedStatement(statement);
				if (result == null) result = caseIIdentified(statement);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.SUB_MAP: {
				SubMap subMap = (SubMap)theEObject;
				T result = caseSubMap(subMap);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.TYPE_ALIAS: {
				TypeAlias typeAlias = (TypeAlias)theEObject;
				T result = caseTypeAlias(typeAlias);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case Mapperv2Package.UPDATE: {
				Update update = (Update)theEObject;
				T result = caseUpdate(update);
				if (result == null) result = caseGeneralStatement(update);
				if (result == null) result = caseGeneralNestedStatement(update);
				if (result == null) result = caseIIdentified(update);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			default: return defaultCase(theEObject);
		}
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Cache Model</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Cache Model</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseCacheModel(CacheModel object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Delete</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Delete</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDelete(Delete object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Discriminator</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Discriminator</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDiscriminator(Discriminator object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Document Root</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Document Root</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDocumentRoot(DocumentRoot object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Dynamic</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Dynamic</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDynamic(Dynamic object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Flush Interval</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Flush Interval</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseFlushInterval(FlushInterval object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Flush On Execute</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Flush On Execute</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseFlushOnExecute(FlushOnExecute object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>General Nested Statement</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>General Nested Statement</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseGeneralNestedStatement(GeneralNestedStatement object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>General Statement</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>General Statement</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseGeneralStatement(GeneralStatement object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Include</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Include</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseInclude(Include object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Insert</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Insert</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseInsert(Insert object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Empty</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Empty</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsEmpty(IsEmpty object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Equal</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Equal</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsEqual(IsEqual object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Greater Equal</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Greater Equal</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsGreaterEqual(IsGreaterEqual object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Greater Than</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Greater Than</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsGreaterThan(IsGreaterThan object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Less Equal</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Less Equal</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsLessEqual(IsLessEqual object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Less Than</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Less Than</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsLessThan(IsLessThan object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Not Empty</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Not Empty</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsNotEmpty(IsNotEmpty object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Not Equal</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Not Equal</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsNotEqual(IsNotEqual object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Not Null</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Not Null</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsNotNull(IsNotNull object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Not Parameter Present</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Not Parameter Present</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsNotParameterPresent(IsNotParameterPresent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Not Property Available</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Not Property Available</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsNotPropertyAvailable(IsNotPropertyAvailable object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Null</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Null</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsNull(IsNull object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Parameter Present</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Parameter Present</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsParameterPresent(IsParameterPresent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Is Property Available</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Is Property Available</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIsPropertyAvailable(IsPropertyAvailable object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Iterate</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Iterate</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIterate(Iterate object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Parameter</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Parameter</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseParameter(Parameter object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Parameter Map</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Parameter Map</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseParameterMap(ParameterMap object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Procedure</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Procedure</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseProcedure(Procedure object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Property</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Property</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseProperty(Property object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Result</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Result</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseResult(Result object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Result Map</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Result Map</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseResultMap(ResultMap object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Select</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Select</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSelect(Select object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Select Key</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Select Key</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSelectKey(SelectKey object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Sql</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Sql</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSql(Sql object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Sql Map</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Sql Map</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSqlMap(SqlMap object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Statement</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Statement</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStatement(Statement object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Sub Map</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Sub Map</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSubMap(SubMap object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Type Alias</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Type Alias</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseTypeAlias(TypeAlias object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Update</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Update</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseUpdate(Update object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IIdentified</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IIdentified</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIIdentified(IIdentified object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch, but this is the last case anyway.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
	 * @generated
	 */
	@Override
	public T defaultCase(EObject object) {
		return null;
	}

} //Mapperv2Switch
